package city.spring.modules.system.repository;

import city.spring.modules.system.dto.MenuViewDTO;
import city.spring.modules.system.entity.MenuEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 存储库：菜单信息
 *
 * @author 侯坤林
 * @date 2020-04-12 15:33:27
 */
@Repository
public interface MenuRepository extends BaseMapper<MenuEntity> {
    /**
     * 获取全部菜单视图（含权限信息，一个菜单会有两条记录，需要去重）。
     * <p>
     * 先查询出菜单跟权限的关联结果，然后再查询出菜单跟角色的关联结果，把两个结果合并（因此每个菜单会至少重复一次，菜单重复两次以上表明有权限信息）
     * </p>
     *
     * @return 有权限信息的菜单列表
     */
    List<MenuViewDTO> getAllMenuView();
}